The subject matter of this application is directed to video stabilization and, particularly, to detection of whether a camera is in a stationary mode and setting video stabilization parameters based on such detection.
Today, many portable electronic devices are equipped with digital cameras that are capable of capturing video. These devices may perform video stabilization procedures that can compensate for undesired motion introduced into the video. Examples of undesired motion may include motion introduced by a shaking hand holding the camera or undesired motion while walking with the camera. Video stabilization procedures can compensate for the undesired motion of the camera by different image processing techniques.
However, video stabilization is not always necessary. For example, when a camera is not being moved (i.e., stationary), video stabilization techniques may perform image processing that is unnecessary. Such image processing may consume valuable resources of a processor and/or a memory. The camera may be stationary due to being held relatively still or being placed on a stationary surface (e.g., a table or a tripod). Moreover, when video stabilization processes use data from a motion sensor and estimate motion, noise components of the motion sensor while the camera is still can cause video stabilization processes to add jitter to the data rather than remove it.
A user of the camera can manually change the camera settings to disable video stabilization when a camera is stationary. However, manually changing the settings is not always convenient. For example, it would be inconvenient to change the video stabilization settings when the camera is used to capture frames while the camera is moving and frames while the camera is stationary.
Accordingly, the inventors have identified a need in the art for an automatic method to detect whether a camera is in a stationary mode and to sett video stabilization parameters based on such detections. In particular, the inventors have identified a need in the art for a method that detects whether frames of a video are in a stationary mode and adjusts the degree of video stabilization based on whether the frames are in the stationary mode.